You are here: Install and Configure Kony Fabric Engagement Services > ConfigResource.properties

Setup Kony Fabric Engagement Services

Kony Fabric Engagement Services setup consists of configuring the configResource.properties, kms-log4j2.xml  and database.properties files.

For Kony Fabric Engagement Services setup, you must copy the files to a location (for example /home/core/kpns-config) and provide the location of the files to the KPNS in the kpns.configLocation system property.

ConfigResource.properties

This file contains the configuration properties, the available services (AndroidService, iPhoneService and so on), and the node identifier to identify the current node among other nodes in the cluster.

The following is an example of a configResource.properties file:

############################################################################################
#                              KMS Configuration Properties
#                            -----------------------------------
############################################################################################

############################################################## 
# TrustStore Configuration 
##############################################################
# Enable the below properties to configure TrustStore path
# truststore.path=
# truststore.passphrase=
# truststore.type=
############################################################## 

##############################################################
# HTTP Proxy Configuration 
############################################################## 
# Enable below properties and provide HTTP Proxy details. 
# If configured, HTTP Proxy will be used for Android, Blackberry, Windows Clouds connectivity.

# httpproxy.host=
# httpproxy.port=
# httpproxy.user=
# httpproxy.pwd=
############################################################## 

##############################################################
# SOCKS Proxy Configuration 
############################################################## 
# Enable below properties and provide SOCKS proxy details. 
# If configured, SOCKS proxy will be used for Apple Cloud connectivity.

# socksproxy.host=
# socksproxy.port=
# socksproxy.user=
# socksproxy.pwd=
##############################################################

##Security####################################################
#One time configurable, default is SHA-256. Allowed values : SHA-256, BCRYPT
#securekey.encoder=SHA-256
##############################################################

##############################################################
# Apple Cloud Configuration 
##############################################################  

apple.notification.keystore.type=PKCS12

# Enable below properties for Tomcat, Weblogic and JBoss Servers.
apple.notification.keymanager.algorithm=sunx509
apple.notification.trustmanager.algorithm=sunx509

# Enable below properties for IBM WebSphere Application Server.
# apple.notification.keymanager.algorithm=ibmX509
# apple.notification.trustmanager.algorithm=ibmPKIX

# Configure below properties for Apple Production Cloud Connectivity        
apple.notification.server.host=gateway.push.apple.com
apple.notification.server.port=2195
apple.feedback.server.host=feedback.push.apple.com
apple.feedback.server.port=2196

# Configure below properties for Apple Sandbox Cloud Connectivity  
apple.dev.notification.server.host=gateway.sandbox.push.apple.com
apple.dev.notification.server.port=2195
apple.dev.feedback.server.host=feedback.sandbox.push.apple.com
apple.dev.feedback.server.port=2196
##############################################################  


##############################################################
# Android Cloud Configuration 
##############################################################  

# Configure below property for Android GCM Cloud Connectivity
android.notification.server.gcm.url=https://android.googleapis.com/gcm/send
##############################################################  


##############################################################
# Blackberry Cloud Configuration 
##############################################################  
# Configure below property for Blackberry Cloud Connectivity
blackberry.notification.server.url=https://pushapi.eval.blackberry.com/mss/PD_pushRequest
blackberry.acknowledgement.listener.port=8888

# Note: Possible values for black berry quality of service [CONFIRMED,PREFERCONFIRMED,UNCONFIRMED,NOTSPECIFIED]
blackberry.qualityofservice=UNCONFIRMED
##############################################################  


##############################################################
# Windows Cloud Configuration 
##############################################################  
# Configure below property for Windows Cloud Connectivity
windows8.authentication.url=https://login.live.com/accesstoken.srf
##############################################################  


##############################################################
# KMS Push Configuration 
##############################################################  
varchar.size=4000

# Push Message Job Thread Pool properties
threadCount.minimum=1
threadCount.maximum=10
thread.ttl=5000

# Push Message Job configuration properties
push.character.encode=UTF-8
push.attempts.maximum=10
fetch.size=1500
batchUpdate.size=500

# Push Message Job interval in 'Seconds'
monitor.schedule=15

# Stale Message job internal in 'Seconds'
job.stalemessages.schedule=18000        


# Feedback Job interval in 'Hours'
feedback.execution.hour=24

#http client connection configuration
http.connection.timeout=60000
http.max.connections=30
http.pool.max.threads=20
http.idle.connection.timeout=30000

# Auditing for Subscription. Possible Values [tr

Important: Enable below properties for IBM WebSphere Application Server:
apple.notification.keymanager.algorithm=ibmX509
apple.notification.trustmanager.algorithm=ibmPKIX

Disable the below properties:
apple.notification.keymanager.algorithm=sunx509
apple.notification.trustmanager.algorithm=sunx509

Note: For Security, one time configurable values are as follows:
Default: SHA – 256
Allowed Values: SHA-256, BCRYPT

kms-log4j2.xml

To control the application logging, you can edit the kms-log4j2.xml file.

The following is an example of the kms-log4j2.xml file:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <RollingFile name="logFileAppender" fileName="${sys:catalina.base}/logs/kms.log" filePattern="${sys:catalina.base}/logs/kms.log.%i">
            <PatternLayout pattern="[engagement.services][%5p][%d{dd MMM yyyy HH:mm:ss,SSS}]:[%X{konyRequestId}]:[%t]:[%c:%M:%L]:%m%n" />
            <Policies>
                <SizeBasedTriggeringPolicy size="10MB" />
            </Policies>
            <DefaultRolloverStrategy max="10" />
        </RollingFile>
        <JDBC name="databaseappender" tableName="application_log">
            <DataSource jndiName="java:/comp/env/jdbc/kpnsdb" />
            <Column name="service" pattern="engagement.services" />
            <Column name="level" pattern="%level" />
            <Column name="event_date" pattern="%d{dd MMM yyyy HH:mm:ss,SSS}" />
            <Column name="request_id" pattern="%x" />
            <Column name="thread" pattern="%t" />
            <Column name="additonal_info" pattern="%c:%M:%L" />
            <Column name="message" pattern="%message" />
            <Column name="exception" pattern="%ex{full}" isClob="true" />
        </JDBC>
    </Appenders>
    <Loggers>
        <Logger name="com.kony.kms.commons" level="ERROR" />
        <Logger name="com.kony.kms.eventmessage.handler" level="ERROR" />
        <Logger name="com.kony.kms.feedback.processor" level="ERROR" />
        <Logger name="com.kony.kms.message.builder" level="ERROR" />
        <Logger name="com.kony.kms.message.handler" level="ERROR" />
        <Logger name="com.kony.kms.message.processor" level="ERROR" />
        <Logger name="com.kony.kms.quartz" level="ERROR" />
        <Logger name="com.kony.kms.service" level="ERROR" />
        <Logger name="com.kony.kms.subscription.handler" level="ERROR" />
        <Logger name="com.kony.kms.utility" level="ERROR" />
        <Logger name="com.kony.kms.validators" level="ERROR" />
        <Logger name="com.kony.kms.oauth" level="ERROR" />
        <Logger name="com.kony.kms.ui.controller" level="ERROR" />
        <Logger name="com.kony.kms.web.controller" level="ERROR" />
        <Logger name="com.kony.kms.mbaas" level="ERROR" />
        <Logger name="com.kony.kms.web.filters" level="ERROR" />
        <Logger name="com.kony.kms.web.listeners" level="ERROR" />
        <Logger name="com.kony.kms.web.servlets" level="ERROR" />
        <Logger name="com.kony.kms.sms" level="ERROR" />
        <Logger name="com.kony.kms.mail" level="ERROR" />
        <Logger name="com.kony.kms.passkit" level="ERROR" />
        <Logger name="com.kony.api" level="ERROR" />
        <Logger name="com.kony.kms.exception.controller" level="ERROR" />
        <Logger name="com.kony.kms.listeners" level="ERROR" />
        <!-- Root Logger -->
        <Root level="ERROR">
            <AppenderRef ref="logFileAppender" />
        </Root>
    </Loggers>
</Configuration>

database.properties

Database properties configures database details for KPNS application. Provide respective database schema names, database driver class, database hibernate dialect and JDBC connection parameters for quartz. Allowed values are provided in the sample properties file.

############################################################################################
#                              Database Properties
#                            -------------------------
# database.dialect -- Should point to Hibernate Dialect of respective database. 
# database.defaultSchema -- Provide schema name of the KPNS database
############################################################################################
# MySQL -- org.hibernate.dialect.MySQLDialect
# Oracle -- org.hibernate.dialect.Oracle10gDialect
# DB2 -- org.hibernate.dialect.DB2Dialect
# MS SQLServer -- com.kony.kms.dialect.KMSSQLServerDialect

database.dialect=org.hibernate.dialect.MySQLDialect
database.defaultSchema=kpnsdb

#Quartz database delegate
# MYSQL -- org.quartz.impl.jdbcjobstore.StdJDBCDelegate
# Oracle -- org.quartz.impl.jdbcjobstore.StdJDBCDelegate
# DB2 -- org.quartz.impl.jdbcjobstore.StdJDBCDelegate
# SQL Server - org.quartz.impl.jdbcjobstore.MSSQLDelegate
database.quartz.delegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate

############################################################################################
# Cache Configuration 
############################################################################################
cache.enable=true

Important: Note that the schema names and the database names are case sensitive in MySQL.

Copyright © 2015 Temenos AG. All rights reserved.